package cn.liontalk.SinglePattern;

/**
 * @author ZhouZhe
 * @version 1.0
 * @description 单例模式 （饿汉模式）
 * @date 2018-12-16 15:33
 **/
public class LazySingleton {


    /**
     * 单例模式Singleton
     * 应用场合:有些对象只需要有一个就足够了，比如线程池，古代皇帝
     * 作用：保证整个应用程序中的某个实例有且之后一个
     * 类型：懒汉模式  饿汉模式
     *
     * 饿汉模式的特点是：加载时类时比较慢，但是运行时获取对象的速度比较快 线程安全
     * 懒汉模式的特点是：加载时类时比较快，但是运行时获取对象的速度比较慢 线程不安全
     */

    /**
     * 1 将构造方法私有化,不允许外部直接创建实例
     */
    private LazySingleton(){}


    /**
     * 2 创建类的唯一实例，使用private 修饰
     */
   private  static LazySingleton singleton = new LazySingleton();


    /**
     * 提供一个用于获取实例的方法,使用public static 修饰
     */
   public static LazySingleton getSingleton(){
       return singleton;
   }

}
